﻿using System;

namespace PgBirdie.Core.Config
{
    public class ConfigForSplitters
    {
        public string[] Backslash { get; private set; }
        public string[] Comma { get; private set; }
        public string[] NewLine { get; private set; }
        public string[] Period { get; private set; }
        public string[] Space { get; private set; }
        public string[] WindowsLineBreak { get; private set; }

        /// <summary>
        /// For splitting static data with Regex.Split.
        /// </summary>
        public string StaticData { get; private set; }        

        public ConfigForSplitters()
        {            
            Backslash = new[] { "\\" };
            Comma = new[] { "," };
            NewLine = new[] { Environment.NewLine };
            Period = new[] { "." };
            Space = new[] { " " };
            WindowsLineBreak = new[] { "\r\n" };

            // Using positive look-behind and positive look-ahead assertions.
            StaticData = "(?<='|true|false|[0-9]|NULL),(?= '| true| false| [-0-9]| NULL) ";            
        }
    }
}